SET QUOTED_IDENTIFIER OFF
GO
SET ANSI_NULLS ON
GO
CREATE procedure [dbo].[SP_TCRENO_PROV_I02]  
/*-------------------------------------------------------*/  
/*---Empresa              : OFISIS S.A.                --*/  
/*---Cliente              : OFISIS                   --*/  
/*---Sistema              : Tesoreria                  --*/  
/*---M÷dulo               : Empresa                    --*/  
/*---Programa             : Grabaci÷n Documentos       --*/  
/*                          Generadas x Letras         --*/  
/*                          por Renovaci¸n             --*/   
/*---Script               : tcrneo_p.sql               --*/  
/*---Nombre SP            : SP_TCRENO_PROV_I02         --*/  
/*---Desarrollado por     : Javier Flores A.           --*/  
/*---Fecha Creaci÷n       : 20/08/1999                 --*/  
/*---Base Datos           : Microsoft Sql Server       --*/  
/*---Versi÷n              : 7.0                        --*/  
/*---Invoca a SP          :                            --*/  
/*-------------------------------------------------------*/  
  
/*-------------------------------------------------------*/  
/*---Modificado 1 por     : Denis Villacr's            --*/  
/*---Fecha Modificaci÷n   : 06/07/2000                 --*/   
/*---Detalle Modificaci÷n : Select a TTTIES_DOCU para  --*/  
/*---                       el Update del CO_ESTA_DOCU --*/  
/*-------------------------------------------------------*/  
  
  
/*-------------------------------------------------------*/  
/*---Modificado 2 por     : DCH              --*/  
/*---Fecha Modificaci÷n   : 15/03/2002              --*/   
/*---Detalle Modificaci÷n : ACTUALIZAR ST_CIER_DOCU --*/  
/*---                       DE ACUERDO A LOS SALDOS --*/  
/*-------------------------------------------------------*/  
/*-------------------------------------------------------*/  
/*---Modificado 1 por     : Maribel Julca Rodriguez    --*/  
/*---Fecha Modificaci©n   : 21/04/2005                 --*/   
/*---Detalle Modificaci©n : ingreso de los campos CO_USUA_CREA, CO_USUA_MODI  --*/  
/*-------------------------------------------------------*/  

  
/*---Comentarios                                       --*/  
/*---                                                  --*/  
/*---                                                  --*/  
/*-------------------------------------------------------*/  
  
/*-------------------------------------------------------*/  
/*---Drop Proc SP_TCRENO_PROV_I02                      --*/  
/*---Grant Execute on SP_TCRENO_PROV_I02 to public         --*/   
/*---SP_TCRENO_PROV_I02                                --*/  
/*-------------------------------------------------------*/  
 @ISCO_EMPR      TD_VC_002,   
 @ISCO_USUA_MODI TD_VC_008_USUA,  
 @ISCO_PROV      TD_VC_020,  
 @ISCO_UNID_CONC TD_VC_003,  
 @IDFE_RENO  TD_DT_001,  
 @ISCO_TIPO_DOCU TD_VC_003,  
 @ISNU_DOCU_PROV TD_VC_020,  
 @ISNU_RENO      TD_VC_008,  
 @INNU_SECU_RENO TD_IN_001,  
 @INIM_DOCU   TD_NU_016_004,  
 @INIM_SALD_DOCU TD_NU_016_004,  
 @INIM_SALD_CONV TD_NU_016_004,  
 @INIM_RENO_MREN TD_NU_016_004,  
 @INIM_RENO_MDOC TD_NU_016_004,  
 @ISCO_ESTA_ORIG TD_VC_003
As
Declare  
   @OSTI_DOCU TD_VC_003,  
   @VSCO_ESTA_DOCU TD_VC_003,  
   @VNNU_SECU   TD_IN_001,   
   @VSST_CIER_DOCU TD_VC_001  
     
  
 Begin Tran SP_TCRENO_PROV_I02  
  
  IF @INIM_SALD_CONV > @INIM_RENO_MREN  
     Begin  
      SELECT @VSCO_ESTA_DOCU = @ISCO_ESTA_ORIG  
      SELECT @VSST_CIER_DOCU = 'N'  
     End  
  Else  
    SELECT @VSST_CIER_DOCU = 'S'  
     
   Insert Into TDRENO_PROV (CO_EMPR, CO_UNID_CONC, CO_PROV, NU_RENO, FE_RENO, NU_SECU,  
           NU_ORDE_LETR, NU_LETR_PROV, CO_TIPO_DOCU, NU_DOCU_PROV, IM_DOCU,   
        IM_SALD_DOCU, IM_SALD_CONV,  
        IM_RENO_MREN, IM_RENO_MDOC, ST_CIER_DOCU, CO_USUA_CREA,FE_USUA_CREA, CO_USUA_MODI, FE_USUA_MODI, CO_ESTA_ORIG)  
   Values     (@ISCO_EMPR, @ISCO_UNID_CONC, @ISCO_PROV,  @ISNU_RENO, @IDFE_RENO, @INNU_SECU_RENO, NULL,  
                NULL, @ISCO_TIPO_DOCU, @ISNU_DOCU_PROV, @INIM_DOCU,   
  @INIM_SALD_DOCU, @INIM_SALD_CONV, @INIM_RENO_MREN,   
  @INIM_RENO_MDOC, @VSST_CIER_DOCU, @ISCO_USUA_MODI,GETDATE(), @ISCO_USUA_MODI, GETDATE(), @ISCO_ESTA_ORIG )  
  
   If @@error <> 0  
      Begin  
        Rollback tran  
        Return  
      End      
  
   Exec SP_TTDOCU_CNTB_Q01 6, @OSTI_DOCU OUTPUT  
  
  
   Exec SP_TTTIES_DOCU_Q01 4, @VSCO_ESTA_DOCU  OutPut  
  
--   Select @VSCO_ESTA_DOCU = CO_ESTA_DOCU From TTTIES_DOCU  
--   Where ST_ESDO_0004 = 'S'   
     
   If @ISCO_TIPO_DOCU != @OSTI_DOCU  
      Begin  
  
        Update  TMDOCU_PROV   
 Set     CO_ESTA_DOCU =  @VSCO_ESTA_DOCU,  
         NU_RENO = @ISNU_RENO,  
         IM_PAGA = IM_PAGA + ISNULL(@INIM_RENO_MDOC,0),  
                CO_USUA_MODI = @ISCO_USUA_MODI,   
         FE_USUA_MODI = Getdate()  
        Where   CO_EMPR = @ISCO_EMPR   
                And CO_PROV = @ISCO_PROV   
         And CO_TIPO_DOCU = @ISCO_TIPO_DOCU   
         And NU_DOCU_PROV = @ISNU_DOCU_PROV  
  
        If @@error <> 0  
           Begin  
             Rollback tran  
             Return  
           End      
      End  
   Else  
     Begin  
  
      IF @INIM_SALD_DOCU > @INIM_RENO_MDOC  
        SELECT @VSCO_ESTA_DOCU = @ISCO_ESTA_ORIG  
  
        Update  TMLETR_PROV   
        Set     CO_ESTA_DOCU = @VSCO_ESTA_DOCU,   
         NU_RENO = @ISNU_RENO,  
         IM_PAGA = IM_PAGA + ISNULL(@INIM_RENO_MDOC,0),  
                CO_USUA_MODI = @ISCO_USUA_MODI,   
                FE_USUA_MODI = Getdate()  
        Where   CO_EMPR = @ISCO_EMPR   
       And CO_PROV = @ISCO_PROV   
         And NU_LETR_PROV = @ISNU_DOCU_PROV   
  
       If @@error <> 0  
          Begin  
            Rollback tran  
            Return  
          End    
  
      --Exec SP_TTDOCU_CNTB_Q02 6, @OSTI_DOCU OUTPUT  
  
      Select @VNNU_SECU = ISNULL(Max(NU_SECU),0) + 1  
      From   TDKARD_DOCP  
      Where  CO_EMPR = @ISCO_EMPR  
  
      Insert Into TDKARD_DOCP (CO_EMPR, NU_SECU,CO_TIPO_DOCU, NU_DOCU_PROV, CO_PROV, CO_ESTA_ACTU,  
                 CO_ESTA_DOCU, CO_USUA_CREA,FE_USUA_CREA, CO_USUA_MODI, FE_USUA_MODI)  
      Values ( @ISCO_EMPR, @VNNU_SECU , @OSTI_DOCU, @ISNU_DOCU_PROV, @ISCO_PROV,  
        @VSCO_ESTA_DOCU, @ISCO_ESTA_ORIG, @ISCO_USUA_MODI,GETDATE(), @ISCO_USUA_MODI, GETDATE())    
  
      If @@error <> 0  
         Begin  
            Rollback tran  
            Return  
         End        
    End  
  
Commit Tran  
  
/*------------------------- Fin ------------------------------*/


GO
